wolfBoot as library portability, Renesas fixes and TSIP AES CTR#570
wolfBoot as library portability, Renesas fixes and TSIP AES CTR#570danielinux merged 18 commits intowolfSSL:masterfrom
Conversation
4cb753a to
b99d8fc
Compare
…t.h includes the `wolfBoot_verify_*` API's. Fixed issue with parsing headers when `#include` is `# include`.
…ues using wolfBoot as static library on Renesas RX.
… in linker script. Fix for wolfBoot as library with Renesas to make sure crypto hardware is initialized and setup. Add forced alignment on additional buffers used for flash read/write.
danielinux
left a comment
There was a problem hiding this comment.
Looks good, unsure about the removal of a prototype from image.h
…upport for onboard flash swap sector. Added `WOLFSSL_NO_CT_OPS` for ECDSA verify only. Added `WC_NO_DEFAULT_DEVID` to help with code size reduction.
d507708 to
eed01dc
Compare
e604d95 to
861252f
Compare
…called before trying to setup the crypto callback.
…hed full encrypted update testing on Renesas RX with TSIP. Fixed issue with `No rule to make target `NONE’` using encrypted AES.
There was a problem hiding this comment.
Pull Request Overview
This PR enhances wolfBoot portability and reliability on Renesas platforms by addressing duplicate definitions, refining flash header parsing, and updating crypto key handling for TSIP AES CTR support.
- Removes duplicate API definitions and cleans up includes.
- Enforces proper alignment on buffers and data structures for improved flash and crypto operations.
- Updates Renesas TSIP key type mappings and enhances the initialization flow for crypto and flash subsystems.
Reviewed Changes
Copilot reviewed 18 out of 18 changed files in this pull request and generated 2 comments.
Show a summary per file
| File | Description |
|---|---|
| tools/keytools/keygen.py | Removes redundant type casting for returning key masks |
| tools/keytools/keygen.c | Similar removal of redundant casts for key mask retrieval |
| src/update_flash.c | Updates comment wording and adds SWAP_EXT condition to bypass decryption |
| src/libwolfboot.c | Adds alignment attributes and supports TSIP crypto init via macros |
| src/image.c | Adds alignment attributes and adjusts error checks for flash operations |
| src/delta.c | Changes include dependency from encrypt.h to image.h |
| options.mk | Adjusts flags regarding swap support based on NO_SWAP_EXT |
| include/wolfboot/wolfboot.h | Updates includes and hash block sizes |
| include/user_settings.h | Adds new configuration defines and adjusts inline aggregate settings |
| include/image.h | Removes duplicate partition state function definition |
| include/encrypt.h | Updates include syntax to use quotes consistently |
| hal/renesas-rz.c | Fixes Renesas initialization and updates return flow |
| hal/renesas-rx.c | Replaces obsolete TSIP key type constants with updated ones |
| hal/renesas-ra.c | Refines Renesas RA initialization and error reporting |
| docs/Targets.md | Updates target documentation comments for clarity |
| docs/Renesas.md | Enhances Renesas documentation including RX TSIP AES encryption details |
| arch.mk | Adds new source file for TSIP AES support |
…ER` (not compatible). Added a few more `uint8_t` alignments.
danielinux
left a comment
There was a problem hiding this comment.
Looks good. A bit concerned about the amount of ifdef'd code in generic files (libwolfboot.c / image.c) but I think this was needed for the correct sequence on sip_init/hal_set_key. If you think it cannot be avoided I'm fine with this.
danielinux
left a comment
There was a problem hiding this comment.
Two places with XALIGNED_STACK attribute instead of XALIGNED
wolfBoot_verify_*API's.wolfBoot_get_partition_statedef.#includeis# includeand using "" not <> (required by customer parsing tool).ext_flash_check_readreturn code (it is supposed to return size read or decrypted).NO_SWAP_EXT=1with encryption enabled.NO_SWAP_EXTto allow support for onboard flash swap sector.WOLFSSL_NO_CT_OPSfor ECDSA verify only.WC_NO_DEFAULT_DEVIDto help with code size reduction.